#include<bits/stdc++.h>
using namespace std;


vector<int> bucketSort(vector<int>& nums){
    int imin=INT_MAX;
    int imax=INT_MIN;
    for(int i=0;i<nums.size();++i){
        imin=min(imin,nums[i]);
        imax=max(imax,nums[i]);
    }
    vector<int> bucket(imax-imin+1);
    vector<int> res;
    for(int i=0;i<nums.size();++i){
        ++bucket[nums[i]-imin];
    }
    for(int i=0;i<bucket.size();++i){
        for(int j=0;j<bucket[i];++i){
            res.emplace_back(i+imin);
        }
    }
    return res;
}

int main(int argc, char const *argv[])
{
    ios::sync_with_stdio(false);
    cin.tie(0);
    vector<int> nums={6565,1,2,4,-9,45,26546};
    vector<int> res =bucketSort(nums);
    for(auto i:res){
        cout<<i<<" ";
    }
    cout<<endl;
    return 0;
}
